package com.tjcu.service.impl;

import com.tjcu.dao.ClazzDao;
import com.tjcu.entity.Clazz;
import com.tjcu.entity.Mark;
import com.tjcu.service.ClazzService;
import com.tjcu.utils.MybatisUtil;

import java.util.List;

/**
 * @author 王恒杰
 * @version 1.0
 * @date 2021/11/2 11:41
 * @email 1078993387@qq.com
 * @Address 天津
 * @Description:
 */
public class ClazzServiceImpl implements ClazzService {
    @Override
    public void addClazz(Clazz clazz) {
        //1.使用mybatis工具类调用工具方法
        ClazzDao mapper = (ClazzDao) MybatisUtil.getMapper(ClazzDao.class);
        //2.调用dao接口层的方法
        mapper.insertClazz(clazz);
        //3.使用mybatis工具类关闭资源，提交事务
        MybatisUtil.commit();
    }

    @Override
    public List showClazz() {
        //1.使用mybatis工具类调用工具方法
        ClazzDao mapper = (ClazzDao) MybatisUtil.getMapper(ClazzDao.class);
        //2.调用dao接口层的方法
        List clazzes = mapper.selectClazz();
        //3.使用mybatis工具类关闭资源
        MybatisUtil.close();
        return clazzes;
    }

    @Override
    public void dropClazz(Integer id) {
        //1.使用mybatis工具类调用工具方法
        ClazzDao mapper = (ClazzDao) MybatisUtil.getMapper(ClazzDao.class);
        //2.调用dao接口层的方法
        mapper.deleteClazz(id);
        //3.使用mybatis工具类关闭资源，提交事务
        MybatisUtil.commit();
    }

    @Override
    public List<Mark>  queryMarkByType(String mtype) {
        //1.使用mybatis工具类调用工具方法
        ClazzDao mapper = (ClazzDao) MybatisUtil.getMapper(ClazzDao.class);
        //2.调用dao接口层的方法
        List<Mark> marks = mapper.selectMarkByType(mtype);
        //3.使用mybatis工具类关闭资源
        MybatisUtil.close();
        return marks;
    }
}
